<style scoped>
  .sellform >>> .weui-form-preview__hd .weui-form-preview__value {
    font-size: 1.2em;
    padding-right: 20px;
  }
  .sellform {
    background: #e3e3e3;
  }
  .page-infinite-wrapper {
    background: #e3e3e3;
  }
  .weui-form-preview {
    margin: 5px;
    border-radius: 5px;
  }

  .rj-cell-child {
    display: inline-block;
    font-size: 0;
    padding: 5px 15px;
    text-align: left;
  }
  .rj-cell-child.max span{
    font-size: 16px;
    padding-right: 20px;
  }
  .rj-cell-child.minpad{
    padding-right: 10px !important;
  }
  .rj-cell-child label {
    color: #333;
    font-size: 14px;
  }
  .rj-cell-child span {
    padding-left: 20px;
    font-size: 14px;
    color: #333;
  }
  .rj-cell-child .tip {
    font-size: 16px;
    color: #333;
  }
  .rj-cell-child i {
    font-size: 18px;
    font-style: normal;
    color: #333;
  }
  .rj-cell-child-tit {
    background: #eee;
    font-size: 14px;
    padding: 5px 15px;
    border-bottom: 1px solid #ddd;
  }
  .weui-form-preview__ft .weui-form-preview {
    background: #f5f5ef;
  }
  .weui-form-preview__ft {
    line-height: normal;
  }



  .weui_tab_bd {
    background: #eee;
  }
  .weui-form-preview {
    background-color: #fff;
    margin: 5px;
    border-radius: 5px;
  }
  .weui-form-preview__hd label, .weui-form-preview__hd em {
    font-size: .9em !important;
  }
  .weui_navbar {
    white-space: nowrap;
    overflow: scroll;
    display: block !important;
    border-bottom: 1px solid #BCBAB6;
    font-size: 0;
    /*background: #fafafa;*/
  }
  .weui_navbar_item {
    font-size: 14px;
    display: inline-block;
    width: 20%;
    padding: 13px 0;
    background: #fff;
    position: relative;
    color: #888;
  }
  .weui_navbar:after {
    border-bottom: 0;
  }
  .weui_navbar_item:after {
    content: " ";
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    border-right: 1px solid #cccccc;
    color: #cccccc;
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
    -webkit-transform: scaleX(0.5);
    transform: scaleX(0.5);
    font-size: 10px;
  }
  .weui-panel__bd {
    text-align: left;
  }
  .hoverbar {
    background: #03A9F4;
    position: fixed;
    bottom: 100px;
    right: 20px;
    height: 50px;
    line-height: 50px;
    width: 50px;
    z-index: 100;
    font-size: 30px;
    border-radius: 50%;
    box-shadow: 0px 2px 3px rgba(100, 100, 100, 0.5);
    color: #fff;
  }
  .flowbtn {
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 1000;
  }
</style>
<template>
  <div class="sellform">
<!--    <div class="hoverbar" v-show="salperms"  @click="addItem">+</div>-->
    <SearchBar @doSearch="doSearch" />
    <div class="weui_tab">
      <div class="weui_navbar order-tabhd">
        <a class="weui_navbar_item" v-if="currTab == ''" v-for="(item, index) in tabTitles" :key="item.guid" :style="'width:' + tabWidth" :class="{ weui_bar_item_on: postParams.stat == item.stats }" href="javaScript:;" @click="switchStatus(item.stats)">{{item.name}}</a>
        <a class="weui_navbar_item" v-if="currTab != ''" v-for="(item, index) in tabTitles" :key="item.guid" :style="'width:' + tabWidth" :class="{ weui_bar_item_on: index == currTab }" href="javaScript:;" @click="switchStatus(item.stats)">{{item.name}}</a>
      </div>
      <div class="weui_tab_bd" style="background-color: #fff">
        <div class="page-infinite-wrapper" ref="wrapper" :style="{ height: wrapperHeight + 'px' }" >
          <mescroll-vue ref="mescroll" id="wrapper" :down="mescrollDown" :up="mescrollUp" @init="mescrollInit">
            <SflistItem v-for="(item, index) in data" :key="item.guid" :ref="item.guid" :data="data" :item="item" :index="index" :permissions="permissions" :showPrice="showPrice" :pstat="postParams.stat"></SflistItem>
          </mescroll-vue>
        </div>

      </div>
    </div>

  </div>
</template>

<script>
  import MescrollVue from 'mescroll.js/mescroll.vue'
  import SearchBar from '../common/SearchBar'
  import SflistItem from './SflistItem'

  export default {
    name: 'Sellform',
    components: {SearchBar, MescrollVue, SflistItem},
    data () {
      return {
        wrapperHeight: 600,
        data: [],
        openid: localStorage.openid,
        postParams: {
          functiontype: 1,
          stat: '00',
        },
        mescroll: null, // mescroll实例对象
        mescrollDown: {},
        mescrollUp: { // 上拉加载的配置.
          callback: this.upCallback, // 上拉回调,此处简写; 相当于 callback: function(page, mescroll) { }
          page: {
            num: 0, //当前页 默认0,回调之前会加1; 即callback(page)会从1开始
            size: 5 //每页数据条数,默认10
          },
          htmlNodata: '<p class="upwarp-nodata">-- 我是有底线的 --</p>',
          noMoreSize: 1,
          empty: {
            warpId: "wrapper", //父布局的id (1.3.5版本支持传入dom元素)
            tip: "暂无相关数据~" //提示
          }
        },
        backperms: false,
        edpriceperms: false,
        prodperms: false,
        puradmperms: false,
        purperms: false,
        saladmperms: false,
        salperms: false,
        sechperms: false,
        setlperms: false,
        stoadmperms: false,
        storperms: false,
        transperms: false,
        wladmperms: false,
        wlperms: false,
        userid: localStorage.userid,
        permissions: [],
        conditionSR: false,
        tabTitles: [],
        tabWidth: '25%',
        currTab: '',
        showPrice: false,
      }
    },
    created() {
      //列表页头部不允许滑动
      document.getElementsByTagName("body")[0].className="bg";
    },
    mounted() {
      //获取tab标签页title
      this.getLabels();
      this.wrapperHeight = document.documentElement.clientHeight - this.$refs.wrapper.getBoundingClientRect().top - 40;
      this.userid = localStorage.userid;
      console.log('userid:', localStorage.userid)
      this.getPermission()

      this.postParams.search = this.$route.query.search;

      if (this.$route.query.code != undefined) {
        this.postParams.search = this.$route.query.code;
      }
      if (this.$route.query.label != undefined) {
        this.currTab = this.$route.query.label != '' ? this.$route.query.label - 1 : 0;
      }

    },
    methods: {
      getFlowtemp: function(flowid) {
        let that = this;
        this.axios({
          method: 'get',
          url: '/sales/Flowtemp!getFlowtemp.action',
          params: {flowid: flowid}
        }).then(response => {
          if (response.data.msg == 'success') {
            this.$store.state.permissions.forEach(item => {
              if (response.data.flowtemp.sensDataPerms.indexOf(item.permission) > -1) {
                that.showPrice = true;
              }
            })
          } else {
            //失败时不提示
          }
        });
      },
      getLabels: function() {
        this.axios({
          method: 'get',
          params:{flowid:2},
          url: '/produce/Label!getLabels.action',
        }).then((response) => {
          if (response.data.msg == 'success') {
            this.$nextTick(() => {
              this.tabTitles = response.data.labels;
              //tab最大宽度20%，默认选中第一个tab页
              this.tabWidth = response.data.labels.length < 6 ? (100 / response.data.labels.length) + '%' : '20%';
              if (this.$route.query.label != undefined) {
                this.postParams.stat = this.tabTitles[this.currTab].stats;
                this.getPageData();
              } else if (this.postParams.stat != this.tabTitles[0].stats) {
                this.postParams.stat = this.tabTitles[0].stats;
                this.getPageData();
              } else {
                this.postParams.stat = this.tabTitles[0].stats;
              }

            })
          } else if (response != undefined && response.data != undefined && response.data.msg == 'sessionTimeOut') {
            //不不设置提示
          } else {
            this.toastError("系统错误");
          }
        })
      },
      getPermission: function() {
        this.axios({
          method: 'get',
          params:{opttype:1},
          url: '/produce/OperatorPermission!getOperPerm.action',
        }).then((response) => {
          if (response.data.msg == 'success') {
            this.permissions = response.data.permission;
            this.$store.commit('setPermissions', response.data.permission);
            //获取是否显示价格权限
            this.getFlowtemp(2);
          } else if (response != undefined && response.data != undefined && response.data.msg == 'sessionTimeOut') {
            //不不设置提示
          } else {
            this.toastText("获取权限数据失败");
          }

        })
      },
      addItem: function() {
        this.$router.push({name: 'AddSellform'});
      },
      sellCheck: function(guid) {
        this.axios({
          method: 'post',
          url: '/sales/Sellform!sendAppro.action',
          params: {guid: guid}
        }).then(response => {
          if(response.data.status == "true"){
            this.toastSuccess(response.data.result);
            this.getPageData();
          }else if (response.data.status == "false"){
            this.toastText(response.data.result);
          } else if (response != undefined && response.data != undefined && response.data.msg == 'sessionTimeOut') {
            //不不设置提示
          } else {
            this.toastError('系统错误');
          }
        });
      },
      mescrollInit (mescroll) {
        this.mescroll = mescroll  // 如果this.mescroll对象没有使用到,则mescrollInit可以不用配置
      },
      upCallback (page, mescroll) {
        this.postParams.pageNo = page.num;
        this.postParams.pageSize = page.size;
        console.log('this.postParams：', this.postParams)
        // 联网请求
        this.axios({
          method: 'get',
          url: '/sales/Sellform!list.action',
          params: this.postParams
        }).then((response) => {
          if (response.data.status == 'true') {
            let res = response.data.result != undefined ? response.data.result : {list: {rows: []}};
            //设置财务数据查看权限
            if (res.list.pageNo == 1) {
              let permissions = res.permissions;
              this.saladmperms = permissions.saladmperms == 1 ? true : false;
              this.backperms = permissions.backperms == 1 ? true : false;
              this.edpriceperms = permissions.edpriceperms == 1 ? true : false;
              this.prodperms = permissions.prodperms == 1 ? true : false;
              this.puradmperms = permissions.puradmperms == 1 ? true : false;
              this.purperms = permissions.purperms == 1 ? true : false;
              this.saladmperms = permissions.saladmperms == 1 ? true : false;
              this.salperms = permissions.salperms == 1 ? true : false;
              this.sechperms = permissions.sechperms == 1 ? true : false;
              this.setlperms = permissions.setlperms == 1 ? true : false;
              this.stoadmperms = permissions.stoadmperms == 1 ? true : false;
              this.storperms = permissions.storperms == 1 ? true : false;
              this.transperms = permissions.transperms == 1 ? true : false;
              this.wladmperms = permissions.wladmperms == 1 ? true : false;
              this.wlperms = permissions.wlperms == 1 ? true : false;
              this.resetSetItem('saladmperms', permissions.saladmperms);
              this.resetSetItem('edpriceperms', permissions.edpriceperms);
              this.resetSetItem('setlperms', permissions.setlperms);
              this.resetSetItem('backperms', permissions.backperms);
              this.conditionSR = res.conditionSR;
            }
            // 如果是第一页需手动置空列表
            if (page.num === 1 && this.data.length != 0) this.data = [];
            // 把请求到的数据添加到列表
            this.data = this.data.concat(res.list.rows);
            // 数据渲染成功后,隐藏下拉刷新的状态
            this.$nextTick(() => {
              mescroll.endSuccess(res.list.rows.length)
            })
            //将获取上一访问列表临时页码恢复正常
            if (this.mescrollUp.page.size > 5) {
              this.mescrollUp.page.num = this.$store.state.list.pageNo;
              this.mescrollUp.page.size = 5;
            }
          } else if (response.data.status == 'false') {
            this.toastText(response.data.result);
            mescroll.endErr()
          } else if (response != undefined && response.data != undefined && response.data.msg == 'sessionTimeOut') {
            //不不设置提示
          } else {
            this.toastError("系统错误");
            mescroll.endErr()
          }

        }).catch((e) => {
          // 联网失败的回调,隐藏下拉刷新和上拉加载的状态;
          mescroll.endErr()
        })
      },

      doSearch: function(keywords) {
        this.postParams.search = keywords;
        this.getPageData();
      },
      getPageData: function () {
        $('#wrapper').scrollTop(0);
        this.data = [];
        this.mescroll.resetUpScroll();
      },
      switchStatus: function (sta) {
        this.postParams.stat = sta;
        this.getPageData();
      },

    },
    activated () {
      //判断是否是返回上一页
      if (this.$store.state.list.reffer != this.$options.name) return;
      //获取上一次访问列表数据
      this.mescrollUp.page.num = 0;
      this.mescrollUp.page.size = this.$store.state.list.pageNo * this.mescrollUp.page.size;
      this.getPageData();
      //定位
      this.$nextTick(function(){
        let position = this.$store.state.list.postion //返回页面取出来
        $('#wrapper').scrollTop(position);
        let status = this.$store.state.list.status;
        this.postParams.status = status;
        if (status == 66 || status == 77) {
          $('.order-tabhd').scrollLeft(1500);
        }
      })

      //列表页头部不允许滑动
      document.getElementsByTagName("body")[0].className="bg";

      //获取查询参数
      this.postParams.search = this.$route.query.search;

      if (this.$route.query.code != undefined) {
        this.postParams.search = this.$route.query.code;
      }
      if (this.$route.query.label != undefined) {
        this.currTab = this.$route.query.label != '' ? this.$route.query.label - 1 : 0;
      }
    },
    beforeRouteLeave(to, from, next){
      //取消列表页头部不允许滑动
      document.body.removeAttribute("class","bg");

      let position = $('#wrapper').scrollTop();
      let status = this.postParams.status;
      this.$store.commit('setPosition', position) //离开路由时把位置存起来
      this.$store.commit('setStatus', status)
      this.$store.commit('setPageNo', this.mescrollUp.page.num);
      this.$store.commit('setReffer', this.$options.name);

      next()
    }
  }



</script>

